<h1>电机转起来</h1>

<ul><li>适用人群：7岁以上，想进行STM32的应用与案例实践。</li><li>内容：基于 <strong>20Core-Board开发板</strong> ，结合前面所学的按键知识，通过按键控制电机。</li><li>学习目标：通过积木块编程，用按键&quot;KEY_A15&quot;控制电机正反转。  </li><li>温馨提示：使用本教程需要额外使用 <strong>“直流伺服电机”</strong> 与 <strong>“TB6612驱动模块”</strong></li></ul>

<h2>一、引言</h2>

<ul><li>在科技制作中，需要执行器给制作的装置提供动力，常用的执行器有直流电机、舵机、步进电机（步进是一种作为控制<br/>用的特种电机,它的旋转是以固定的角度（称为“步距角”）一步一步运行的, 其特点是没有积累误差）等。<br/></li></ul>
<ul><li>直流电机是最常见的执行器之一。  </li></ul>

<h2>二、预备知识</h2>

<ul><li>板载TB6612FNG双H桥电机驱动芯片，工作高效，不易发热。  </li><li><p>H桥电路名称的由来是因为控制电路的形状像英文字母 <strong>H</strong> 而得名。  </p><p><img alt="" src="https://img.imgdb.cn/item/60010d2e3ffa7d37b31d9438.jpg"/>
<img alt="" src="https://img.imgdb.cn/item/60010d313ffa7d37b31d95db.jpg"/>  </p></li><li><p>当开关A与D闭合时，电流如右图指示方向流过电机，此时电机以一个方向转动。<br/><img alt="" src="https://img.imgdb.cn/item/60013d773ffa7d37b338fb5a.jpg"/></p></li><li><p>当开关B与C闭合时，电流如右图指示方向流过电机，此时电机以另一个方向（即相反方向）转动。<br/><img alt="" src="https://img.imgdb.cn/item/60013df33ffa7d37b3394a0b.jpg"/></p></li><li><p><strong>注意安全使用电机模块：</strong> 同侧的开关A、C或者B、D不能同时打开，否则将导致短路。  </p></li></ul>

<h2>三、接线</h2>

<ul><li><strong>TB6612驱动模块</strong> <br/><img alt="" src="https://img.imgdb.cn/item/600145303ffa7d37b33d6781.jpg"/>  </li></ul>


<p>以“控制一个电机”为例，讲解“TB6612模块”的接线：
<br/>&nbsp;&nbsp;开发板套件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TB6612模块&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;电机<br/>&nbsp;&nbsp;&nbsp;&nbsp;PA0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;PWMA<br/>&nbsp;&nbsp;&nbsp;&nbsp;PB8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;AIN1<br/>&nbsp;&nbsp;&nbsp;&nbsp;PB9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;AIN2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AO1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;电机正级（+）<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AO2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;电机负极（-）<br/>&nbsp;&nbsp;&nbsp;&nbsp;5V&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;VM<br/>&nbsp;&nbsp;&nbsp;&nbsp;5V&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;VCC<br/>&nbsp;&nbsp;&nbsp;&nbsp;5V&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;STBY<br/>&nbsp;&nbsp;&nbsp;&nbsp;GND&nbsp;&nbsp;&nbsp;&nbsp;&lt;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;GND  
</p>

<p>  <br/><img alt="" src="https://img.imgdb.cn/item/6008f0153ffa7d37b329ca49.jpg" width="80%"/> </p>

<h2>四、编程与编译</h2>

<h3>4.1 源码</h3>

<p>  <img alt="" src="https://img.imgdb.cn/item/60092a8f3ffa7d37b3510d65.png"/></p>

<h3>4.2 如何实现控制方向</h3>

<ul><li>方向管脚1“ <strong>PB9</strong> ”接到TB6612模块的“ <strong>AIN1</strong> ”  </li><li>方向管脚2“ <strong>PB8</strong> ”接到TB6612模块的“ <strong>AIN2</strong> ”  </li><li>EN管脚“ <strong>PA0</strong> ”接到TB6612模块的“ <strong>PWMA</strong> ”  </li><li>速度数值的范围在-255~255以内：当速度为正整数（即大于0的整数）时，电机往反方向转动；当速度为0时，电机停止转动；当速度为负整数（即小于0的整数）时，电机往反方向转动  </li></ul>

<p><img alt="" src="https://pic.downk.cc/item/5fb4fcacb18d6271135ffac3.gif" width="80%" />  </p>

<h2>五、上传</h2>

<p><img alt="" src="https://pic.downk.cc/item/5fb5095bb18d6271136292b4.gif" width="80%" />  </p>

<h2>六、实验效果</h2>

<ul><li><p>拓展板上电，电机往正方向转动，LED<em>B0灯亮；按下按键 <strong>&quot;KEY-A15&quot;</strong>，电机往反方向转动，LED</em>B0灯灭   </p><p><img alt="" src="https://img.imgdb.cn/item/600995013ffa7d37b393a33d.jpg"/>  </p><p><img alt="" src="https://pic.downk.cc/item/5fb50eb8b18d62711363d3ae.gif" width="80%" />  </p></li></ul>